package cn.iocoder.yudao.module.mon_platform.enums;

import lombok.Getter;

@Getter
public enum Ys7ErrorCode {
    SUCCESS(200, "操作成功"),
    REQUEST_PARAM_ERROR(10001, "请求参数错误"),
    ACCESS_TOKEN_EXPIRED_OR_EXCEPTION(10002, "accessToken过期或异常"),
    USER_NOT_EXIST(10004, "用户不存在"),
    DEVICE_ALREADY_ADDED(20013, "设备已被别人添加"),
    INVALID_DEVICE_SERIAL(20014, "设备序列不正确"),
    DEVICE_ONLINE_SELF_ADDED(20020, "设备在线，被自己添加"),
    DEVICE_NOT_ONLINE_USER_NOT_ADDED(20023, "设备不在线，未被用户添加"),
    DEVICE_NOT_ONLINE_SELF_ADDED(20029, "设备不在线，但是已经被自己添加"),
    NOT_SUPPORTED_ERROR(60107, "不支持错误"),
    DATA_EXCEPTION(49999, "数据异常"),
    PARAM_ERROR(10001, "参数错误，参数为空或格式不正确"),
    ACCESS_TOKEN_EXPIRED(10002, "accessToken异常或过期，请重新获取accessToken"),
    APP_KEY_EXCEPTION(10005, "appKey异常，appKey被冻结"),
    DEVICE_NOT_EXIST_(20002, "设备不存在，该设备未注册至萤石云"),
    DEVICE_NOT_ONLINE(20007, "设备不在线，检查设备是否在线"),
    DEVICE_VERIFICATION_ERROR(20010, "设备验证码错误，检查设备验证码是否错误"),
    DEVICE_ADD_FAILED(20011, "设备添加失败，检查设备网络等是否正常"),
    DEVICE_SELF_ADDED(20017, "设备已被自己添加，设备已经添加到该账号下"),
    DEVICE_TOKEN_INVALID(20038, "设备token失效"),
    HIKVISION_DEVICE_DEFAULT_CODE_ERROR(60066, "海康设备不能使用出场时的默认验证码，建议本地更新验证码"),
    DEVICE_ONLINE_UNBOUND(60058, "设备上线后未绑定状态，需要确权才能添加，参考确权接口"),
    DEVICE_NOT_SUPPORT_DIRECT_CONNECTION(60034, "禁止绑定设备，此类设备需要关联NVR使用，请将设备先关联到海康硬盘录像机"),
    DEVICE_FROZEN_HIGH_RISK(60085, "设备冻结且存在高风险，请参考设备确权接口"),
    DEVICE_HIGH_RISK_REBOOT_REQUIRED(60086, "设备存在高风险，需重启确权，请参考设备确权接口");

    private int code;
    private String msg;

    Ys7ErrorCode(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }



    public static Ys7ErrorCode getByCode(int code) {
        for (Ys7ErrorCode errorCode : Ys7ErrorCode.values()) {
            if (errorCode.getCode() == code) {
                return errorCode;
            }
        }
        return null; // 若未找到对应的状态码，则返回空
    }
}
